package com.superiron.scaffold.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @author yzg
 * @date 2022/05/11 14:33
 * @description mybatis-plus数据插入监听器，可自动插入默认值
 * 将需要此功能的属性加上注解@TableField(fill = FieldFill.INSERT/INSERT_UPDATE)
 */
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
	
	@Override
	public void insertFill(MetaObject metaObject) {
		// 执行插入操作时执行该逻辑
		// 实体类属性名称和要自动填充的值
		this.setFieldValByName("createTime", new Date(), metaObject);
		this.setFieldValByName("updateTime", new Date(), metaObject);
	}
	
	@Override
	public void updateFill(MetaObject metaObject) {
		// 执行更新操作时执行该逻辑
		this.setFieldValByName("updateTime", new Date(), metaObject);
	}
}

